package com.taihua.cc;

import com.alibaba.fastjson.JSONObject;
import com.taihua.entity.Product;
import com.taihua.entity.User;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("databind")
public class DataBindController {

    public String simpleGetIndex(){
        return "simplegetindex";
    }
    //http://localhost:8080/Third/dataBind/getParam?name=abc&password=123456
    @GetMapping("getParam")
//    public void getParam(String name1,String password){
//        System.out.println("name:"+name1+"    password:"+password);
//    }
    public void getParam(@RequestParam(value = "name",required = false,defaultValue = "eeee") String userName,String password){
        System.out.println("userName:"+userName+"    password:"+password);
    }

    //http://localhost:8080/Third/dataBind/getParamRest/name/abc/password/123456 (更常用)
    @GetMapping("getParamRest/{name}/{pwd}")
    public void getParamRest(@PathVariable(value = "name") String userName,@PathVariable("pwd") String password){
        System.out.println("userName:"+userName+"    password:"+password);
    }

    @RequestMapping(value = "/userIndex", method = RequestMethod.GET)
    public String userIndex(){
        return "userindex";
    }

    @PostMapping("/testUser")
    public String testUser(User user){
        System.out.println("testUser"+user);
        System.out.println(user.getUserName());
        System.out.println(user.getPassword());
        return "success";
    }

    @ResponseBody
    @PostMapping(path = "/add", produces = MediaType.APPLICATION_JSON_VALUE)
    public String testJsonRequ(@RequestBody JSONObject jsonParam){
        System.out.println(jsonParam.toJSONString());
        return "is work";
    }
//
//    @RequestMapping("arrayIndex")
//    public String arrayIndex(){
//        return "arrayIndex";
//    }
//
//    @PostMapping("/testArray")
//    public String testArray(String[] proIds){
//        for (String s:proIds) {
//            System.out.println(proIds);
//        }
//        return "success";
//    }
//
//    @RequestMapping("listIndex")
//    public String listIndex(){
//        return "listIndex";
//    }
//
//    @PostMapping("/testList")
//    public String testList(@RequestParam("proIds")List<String> proIds){
//        for (String s:proIds) {
//            System.out.println(s);
//        }
//        return "success";
//    }

//    @RequestMapping("objectIndex")
//    public String objectIndex(){
//        return "objectIndex";
//    }
//
//    @PostMapping("/testObject")
//    public String testObject(UserOrders userOrders){
//        System.out.println(userOrders.getUserName());
//        System.out.println(userOrders.getOrder().getOrderId());
//
//        return "success";
//    }
//
//    @RequestMapping("orderListIndex")
//    public String orderListIndex(){
//        return "orderListIndex";
//    }
//
//    @PostMapping("/testOrderList")
//    public String testOrderList(UserOrders userOrders){
//        System.out.println(userOrders.getUserName());
//        System.out.println(userOrders.getOrder().getOrderId());
//
//        return "success";
//    }
//
//    @RequestMapping("mapIndex")
//    public String mapIndex(){
//        return "mapIndex";
//    }
//
//    @PostMapping("/testMap")
//    public String testMap(Order order){
//        System.out.println(order);
//
//        return "success";
//    }
}
